//
//  AVDAudioExport.h
//  avd_sdk
//
//  Created by 盛锋 on 2020/4/15.
//  Copyright © 2020年 t3ee. All rights reserved.
//

#import "AVDModule.h"

NS_ASSUME_NONNULL_BEGIN

@protocol AVDAudioExportDelegate <NSObject>


/**
 音频导出回调

 @param data 音频buffer数据
 @param userId userid
 @param timestamp timestamp
 @param sampleRate 采样率
 @param channels 通道数
 */
- (void) onAudioStreamOut:(NSData*)data userId:(NSString *)userId timestamp:(NSInteger)timestamp sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels;

@end

@interface AVDAudioExport : AVDModule

@property (nonatomic,weak) id <AVDAudioExportDelegate>delegate;              /**<音频导出模块回调接口代理 */


/**
 获取音频导出模块

 @param room room对象
 @return AVDAudioExport对象
 */
+ (AVDAudioExport* )getAudioExport:(AVDRoom*)room;


/**
 选择一个需要回调的参会者音频

 @param[in] userId 选择需要导出音频的用户id。
 @param[in] sampleRate 采样频率 :8000,16000,44100 ,如果不填，默认16000
 @param[in] channels 通道数 :1,2  如果不填，默认是1
 @return 错误代码
 */
- (AVDResult)selectUser4Export:(NSString *)userId sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels;


/**
 停止音频导出

 @return 错误代码
 */
- (AVDResult)stopExport;

@end

NS_ASSUME_NONNULL_END
